protocol/driver: add DigitalInputProtocol
, GpioDigitalInputDriver
#1458
+148
−10
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
this adds a new protocol
DigitalInputProtocol
and a GPIO driver that implements it.The
DigitalOutputProtocol
ABC now also inherits it, ensuring it can be used in all existing driver implementations.Additionally the client now automatically uses
DigitalInputProtocol
when the command isio get
.By seperating the input from output protocol it is possible to make sure the GPIO line is configured in direction
input
in sysfs, which avoids shorts when reading out digital states from DUT's. Otherwise, one would have to rely on the circuitry of the GPIO line.Tested on two Raspberry Pi's as exporter and DUT.
Note:
the
sysfsgpioin.py
part duplicates most of thesysfsgpio.py
code but because of the way this code is executed by agentwrapper I thought it was cleaner to separate it into a new file.Checklist
closes #1457